Perpetual Requirements Engineering
نویسندگان
چکیده
This dissertation attempts to make a contribution within the fields of distributed systems, security, and formal verification. We provide a way to formally assess the impact of a given change in three different contexts. We have developed a logic based on Lewis’s Counterfactual Logic. First we show how our approach is applied to a standard sequential programming setting. Then, we show how a modified version of the logic can be used in the context of reactive systems and sensor networks. Last but not least we show how this logic can be used in the context of security systems. Traditionally, change impact analysis has been viewed as an area in traditional software engineering. Software artifacts (source code, usually) are modified in response to a change in user requirements. Aside from making sure that the changes are inherently correct (testing and verification), programmers (software engineers) need to make sure that the introduced changes are coherent with those parts of the systems that were not affected by the artifact modification. The latter is generally achieved by establishing a dependency relation between software artifacts. In rough lines, the process of change management consists of projecting the transitive closure of the this dependency relation based on the set of artifacts that have actually changed and assessing how the related artifacts changed. The latter description of the traditional change management process generally occurs after the affected artifacts are changed. Undesired secondary effects are usually found during the testing phase after the changes have been incorporated. In cases when there is certain level of criticality, there is always a division between production and development environments. Change management (either automatic, tool driven, or completely manually done) can introduce extraneous defects into any of the changed software life-cycle artifacts. The testing phase tries to eradicate a relatively large portion of the undesired defects introduced by change. However, traditional testing
منابع مشابه
Community Driven Elicitation of Requirements with Entertaining Social Software
With the new business models of the Web 2.0 the need for continuous requirements engineering becomes even more important. Future applications are in ’perpetual beta’ and well-understood user needs are a competitive advantage in a billion dollar market. However, user communities have to be addressed with new Web 2.0 style elicitation tools, since support by communities is offered at will in the ...
متن کاملPerpetual Assurances for Self-Adaptive Systems
Providing assurances for self-adaptive systems is challenging. A primary underlying problem is uncertainty that may stem from a variety of different sources, ranging from incomplete knowledge to sensor noise and uncertain behavior of humans in the loop. Providing assurances that the self-adaptive system complies with its requirements calls for an enduring process spanning the whole lifetime of ...
متن کاملSoftware Engineering for Self-Adaptive Systems: Assurances
The important concern for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, dependable, energy-efficient, customisable, configurable and self-optimising when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip softwa...
متن کاملAerial Vehicles on Mars : Perpetual Endurance
The problem of quantifying a design requirement for perpetual endurance of solar-powered unmanned aerial vehicles (UAVs) is treated. The design requirement is formulated as a threshold of the Power Ratio, a non-dimensional number that characterizes the ability of an aircraft to fly while solar-powered. This socalled Perpetuity Threshold is identified, derived and shown to be related to the dura...
متن کاملPerpetual: Byzantine Fault Tolerance for Federated Distributed Applications
Modern distributed applications rely upon the functionality of services from multiple providers. Mission-critical services, possibly shared by multiple applications, must be replicated to guarantee correct execution and availability in spite of arbitrary (Byzantine) faults. Furthermore, shared services must enforce strict fault isolation policies to prevent cascading failures across organizatio...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012